gusucode.com > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM源码程序 > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM\stprtool\svm\poaasvm.m

    function poaaosvm(model,background)
% POAASVM vizualizes One-Against-All SVM decision rule.
% poaasvm(model,background)
%
% Input:
%  model [struct] model of classifier.
%  background [int] 0 - no, 1 - yes.
%

% Statistical Pattern Recognition Toolbox, Vojtech Franc, Vaclav Hlavac
% (c) Czech Technical University Prague, http://cmp.felk.cvut.cz
% Written Vojtech Franc (diploma thesis) 23.12.1999, 5.4.2000
% Modifications
% 26-aug-2002, VF
% 9-july-2002, VF
% 19-sep-2001, V. Franc, comments changed.
% 20-may-2001, V. Franc, new approach
% 16-april-2001, V. Franc, created

if nargin < 2,
  background = 0;
end

% points size
POINTSSIZE=10;  

% grid for x-axis and y-axis
GRIDX=150;
GRIDY=150;

epsilon=1e-5;

if nargin < 1,
   error('Not enough input arguments.');
   return;
end

ppatterns(model.trn_data,model.trn_labels,POINTSSIZE);
hold on;

V = axis;
dx = (V(2)-V(1))/GRIDX;
dy = (V(4)-V(3))/GRIDY;

[X,Y] = meshgrid(V(1):dx:V(2),V(3):dy:V(4));

% make testing points
tst_data=[reshape(X',1,prod(size(X)));reshape(Y',1,prod(size(Y)))];

% classify points
D = zeros(model.num_classes,size(tst_data,2) );

for i=1:model.num_classes,
  [pred_labels,dfce] = svmclass2(tst_data,model.trn_data,...
      multi2dicho(model.trn_labels,i),...
      model.rule{i}.Alpha,model.rule{i}.bias,model.SVM.kernel,model.SVM.arg);
  
  D(i,:) = dfce; 
end

pdiscrim( D, V(1):dx:V(2), V(3):dy:V(4),background );

if background,
  ppatterns(model.trn_data,'kx',POINTSSIZE);
else
  ppatterns(model.trn_data,model.trn_labels,POINTSSIZE);
end

axis(V);
hold off;

return;